-- @Author: 作者QQ381990860
-- @Date:   2022-06-28 16:37:57
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-14 03:02:22
-- @Author: 作者QQ381990860
-- @Date:   2022-06-28 16:37:57
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-14 02:53:53
-- @Author: 作者QQ381990860
-- @Date:   2022-06-28 16:37:57
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-14 02:52:50
function 任务控制类:设置强化珠任务(id)------------------------------完成--------------------
 if 取队伍符合等级(id,40)==false then
    广播队伍消息(id,7,"#Y/队伍平均等级达到40级才可领取此任务")
 else
    self.检查通过=""
    self.检查次数=200
    if 玩家数据[id].队伍==0 then
      if 角色处理类:GetTaskID(玩家数据[id],"强化珠")~=0 then
      self.检查通过=玩家数据[id].角色.名称
      end
       if  活动数据.强化珠[id]==nil then
          活动数据.强化珠[id] = 400
       else
         self.检查次数 = 活动数据.强化珠[id]
        end
    else
      for n=1,#队伍数据[玩家数据[id].队伍].队员数据 do
        if 角色处理类:GetTaskID(玩家数据[队伍数据[玩家数据[id].队伍].队员数据[n]],"强化珠")~=0 then
        self.检查通过=玩家数据[队伍数据[玩家数据[id].队伍].队员数据[n]].角色.名称..","..self.检查通过
        end
         if  活动数据.强化珠[队伍数据[玩家数据[id].队伍].队员数据[n]]==nil then
           	活动数据.强化珠[队伍数据[玩家数据[id].队伍].队员数据[n]] = 400
         else
           	self.检查次数 = 活动数据.强化珠[队伍数据[玩家数据[id].队伍].队员数据[n]]
         end
      end
    end
    if self.检查通过~="" then
    广播队伍消息(id,7,"#Y/"..self.检查通过.."已经领取过此任务了")
    elseif self.检查次数 <1  then
    	    广播队伍消息(id,7,"#Y/队伍中有人强化珠已经达到上限无法在进行强化珠")
    else

      -- if 角色处理类:GetTaskID(玩家数据[id],"法宝") == 0 and math.random(100)<=5 and 玩家数据[id].角色.等级>=60 then
      --   玩家数据[id].法宝 =true
      --   发送数据(玩家数据[id].连接id,20,{"钟馗","钟馗","恭喜你激活了一个法宝任务,是否领取该任务呢?",{"领取法宝任务","我不需要法宝"}})
      -- else
         self:添加强化珠任务(id)
      end
    end
 end

function 任务控制类:添加强化珠任务(id)----------------------------完成
  local 强化珠名称1={"捣乱"}
  local 强化珠名称2={"的",}
  local 强化珠名称3 = {"小珠子"}
 local 强化珠地图={1501,1092,1142,1193,1173,1146,1140,1070,1226,1209,1040}
 local 临时id=tonumber(id.."4"..os.time())
 local 强化珠地图编号=强化珠地图[math.random(#强化珠地图)]
 local 临时坐标=  地图处理类:Randomloadtion(强化珠地图编号)
 local 强化珠造型={"牛头","马面","骷髅怪","僵尸","野鬼",}
 local 临时造型=强化珠造型[math.random(#强化珠造型)]
 local 临时名称=强化珠名称1[math.random(#强化珠名称1)]..强化珠名称2[math.random(#强化珠名称2)]..强化珠名称3[math.random(#强化珠名称3)]
 任务数据[临时id]={
 类型="强化珠"
 ,id=id
 ,起始=os.time()
 ,结束=1200
 ,任务id=临时id
 ,地图编号=强化珠地图编号
 ,地图名称=MapData[强化珠地图编号].名称
 ,名称=临时名称
 ,造型=临时造型
 ,方向=math.random(0,3)
 ,坐标=临时坐标
 ,战斗=false
 ,数字id={}
 ,客户id={}
 }
 self.任务id组={}
  if 玩家数据[id].队伍==0 then
  self.任务id组[#self.任务id组+1]=id
  else
    for n=1,#队伍数据[玩家数据[id].队伍].队员数据 do
    self.任务id组[#self.任务id组+1]=队伍数据[玩家数据[id].队伍].队员数据[n]
    end
  end
  for n=1,#self.任务id组 do
   self.任务临时id1=角色处理类:生成任务id(玩家数据[self.任务id组[n]])
   玩家数据[self.任务id组[n]].角色.任务数据[self.任务临时id1]=临时id
   任务数据[临时id].数字id[#任务数据[临时id].数字id+1]=玩家数据[self.任务id组[n]].id
   任务数据[临时id].客户id[#任务数据[临时id].客户id+1]=self.任务id组[n]
   活动数据.强化珠[self.任务id组[n]]=活动数据.强化珠[self.任务id组[n]]-1
    发送数据( 玩家数据[self.任务id组[n]].连接id,9,"#xt/#Y/你当前在强化珠任务中还可获得#R/".. 活动数据.强化珠[self.任务id组[n]].."#Y/次奖励")
    self:刷新追踪任务信息(self.任务id组[n])
  end
  地图处理类:添加单位(任务数据[临时id])
  发送数据(玩家数据[id].连接id,20,{"钟馗","钟馗",[[ #W/近日有#Y/]]..任务数据[临时id].名称.."#W/正在#Y/"..任务数据[临时id].地图名称.."（"..math.floor(任务数据[临时id].坐标.x)..","..math.floor(任务数据[临时id].坐标.y)..")#W/处作恶，请立即前往降服。"})

 end
function 任务控制类:完成强化珠任务(id组,任务id)-------------------
  for n=1,#id组 do
    if 玩家数据[id组[n]]~=nil then
      self.符合强化珠id=false
      for i=1,#任务数据[任务id].数字id do
        if 玩家数据[id组[n]].id==任务数据[任务id].数字id[i] then
        self.符合强化珠id=true
        end
      end
      if self.符合强化珠id then
	  
        角色处理类:取消任务(玩家数据[id组[n]],任务id)
        self.强化珠奖励参数=玩家数据[id组[n]].角色.强化珠*0.1+1
        self.强化珠奖励等级=玩家数据[id组[n]].角色.等级
        self.等级误差=取经验差(任务数据[任务id].平均等级,self.强化珠奖励等级)
        self.强化珠奖励经验=math.floor(self.强化珠奖励等级*self.强化珠奖励等级*30*self.强化珠奖励参数*self.等级误差)
        self.强化珠奖励银子=math.floor((self.强化珠奖励等级*self.强化珠奖励等级+math.random(2000,2500))*self.强化珠奖励参数*3)+10000
        角色处理类:添加经验(玩家数据[id组[n]],self.强化珠奖励经验,"强化珠")
        角色处理类:添加银子(玩家数据[id组[n]],self.强化珠奖励银子,"强化珠")
      角色处理类:添加活跃度(玩家数据[id组[n]],1)
        角色处理类:添加储备(玩家数据[id组[n]],math.floor(self.强化珠奖励银子*0.5),"强化珠")
        if 玩家数据[id组[n]].召唤兽.数据.参战~=0 then
        self.强化珠奖励等级=玩家数据[id组[n]].召唤兽.数据[玩家数据[id组[n]].召唤兽.数据.参战].等级
        self.强化珠奖励经验 = math.floor(self.强化珠奖励等级 * self.强化珠奖励等级 * 100 * self.强化珠奖励参数)
        玩家数据[id组[n]].召唤兽:添加经验(self.强化珠奖励经验,id组[n],玩家数据[id组[n]].召唤兽.数据.参战,2)
        end
					if 玩家数据[id组[n]].成就系统.强化珠 ~= nil then
			玩家数据[id组[n]].成就系统.强化珠.次数 = 玩家数据[id组[n]].成就系统.强化珠.次数 + 1
		else
		玩家数据[id组[n]].成就系统.强化珠 = {次数=0,奖励=0,等级=0}
		end
		if 玩家数据[id组[n]].角色.强化珠 == nil then
		 玩家数据[id组[n]].角色.强化珠=1
		 end
		 local 随机奖励1 = math.random(100)
		 if 随机奖励1 <= 5 then
			local 名称  = 取随机强化珠()
        道具处理类:给予道具(id组[n],名称,1)
            end
        if 玩家数据[id组[n]].角色.强化珠==10 then
          local 随机奖励 = math.random(100)
          玩家数据[id组[n]].角色.强化珠=1
            if 随机奖励<=50 then
			local 名称  = 取随机强化珠()
        道具处理类:给予道具(id组[n],名称,1)
            end
        else

        玩家数据[id组[n]].角色.强化珠=玩家数据[id组[n]].角色.强化珠+1
        end

     end
    end
  end
 地图处理类:移除单位(任务数据[任务id].地图编号,任务id)
 任务数据[任务id]=nil
 end